using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataProvider;
using DalatCooking.Core.Helper;
namespace DalatCooking.Core
{
    public class JsonPerson
    {
        public static JsonResponse Insert(Person entity)
        {
            string msg = "";
            bool rs = PersonManager.Insert(entity);
            if (rs)
            msg = "Thêm mới Person <" + entity + "> thành công.";
            else msg = "Thêm mới Person <" + entity + "> thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse Update(Person entity)
        {
            string msg = "";
            bool rs = PersonManager.Update(entity);
            if (rs)
            msg = "Cập nhật Person <entity> thành công.";
            else msg = "Cập nhật Person <entity> thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse Delete(int id)
        {
            string msg = "";
            bool rs = PersonManager.Delete(id);
            if (rs)
            msg = "Xóa dữ liệu <" + id + "> thành công.";
            else msg = "Xóa dữ liệu <" + id + "> thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse FindById(int id)
        {           
            string msg = "";
            bool rs = PersonManager.FindById(id) != null;
            if (rs)
                msg = "Tìm thấy nguời dùng trong Cơ sở dữ liệu.";
            else msg = "Không tìm thấy nguời dùng trong Cơ sở dữ liệu.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse FindByUserName(string username)
        {
            string msg = "";
            bool rs = PersonManager.FindByUserName(username) != null;
            if (rs)
                msg = "Tên đăng nhập đã được đăng ký.";
            else msg = "Tên đăng nhập chưa được đăng ký.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse FindByEmail(string email)
        {
            string msg = "";
            bool rs = PersonManager.FindByEmail(email) != null;
            if (rs)
                msg = "Email đã được đăng ký.";
            else msg = "Email chưa được đăng ký.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse Single(int id)
        {
            return FindById(id);
        }
        public static List<Person> PagingSql(int pageSize, int pageNum, out int totalRowCount)
        {
            return PersonManager.PagingSql(pageSize, pageNum, out totalRowCount);
        }
        public static List<Person> PagingLinq(int pageSize, int pageNum, out int totalRowCount)
        {
            return PersonManager.PagingLinq(pageSize, pageNum, out totalRowCount);
        }
        public static JsonResponse SetActive(int id)
        {
            string msg = "";
            bool rs = PersonManager.SetActive(id);
            if (rs)
            msg = "Cập nhật dữ liệu <" + id + "> thành công.";
            else msg = "Cập nhật dữ liệu <" + id + "> thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse SetSortIndex(int id, int isup)
        {
            string msg = "";
            bool rs = PersonManager.SetSortIndex(id, isup);
            if (rs)
            msg = "Cập nhật dữ liệu <" + id + "> thành công.";
            else msg = "Cập nhật dữ liệu <" + id + "> thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse RemoveSelectedItem(int id)
        {
            string msg = "";
            bool rs = PersonManager.RemoveSelectedItem(id);
            if (rs)
            msg = "Đưa dữ liệu <" + id + "> vào sọt rác thành công.";
            else msg = "Đưa dữ liệu <" + id + "> vào rọt rác thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse RemoveAll()
        {
            string msg = "";
            bool rs = PersonManager.RemoveAll();
            if (rs)
            msg = "Đưa dữ liệu vào sọt rác thành công.";
            else msg = "Đưa dữ liệu vào rọt rác thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse RestoreSelectedItem(int id)
        {
            string msg = "";
            bool rs = PersonManager.RestoreSelectedItem(id);
            if (rs)
            msg = "Khôi phục dữ liệu <" + id + "> từ sọt rác thành công.";
            else msg = "Khôi phục dữ liệu <" + id + "> từ rọt rác thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse RestoreAll()
        {
            string msg = "";
            bool rs = PersonManager.RestoreAll();
            if (rs)
            msg = "Khôi phục dữ liệu thành công.";
            else msg = "Khôi phục dữ liệu thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }

        public static JsonResponse Person_AddRole(int personId, int roleId)
        {
            string msg = "";
            bool rs = PersonManager.Person_AddRole(personId, roleId);
            if (rs)
                msg = "Gán quyền thành công.";
            else msg = "Gán quyền thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse Person_RemoveRole(int personId, int roleId)
        {
            string msg = "";
            bool rs = PersonManager.Person_RemoveRole(personId, roleId);
            if (rs)
                msg = "Xóa quyền thành công.";
            else msg = "Xóa quyền thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
        public static JsonResponse Person_ChangePassword(Person p)
        {
            string msg = "";
            bool rs = PersonManager.ChangePassword(p);
            if (rs)
                msg = "Thay đổi mật khẩu thành công.";
            else msg = "Thay đổi mật khẩu thất bại.";
            return new JsonResponse() { Success = rs, Message = string.Format(msg, "...") };
        }
    }
}